home *** CD-ROM | disk | FTP | other *** search
- /*
- File: QTICPublicPanel.h
-
- Contains: QuickTime Image Capture interfaces
-
- Version: Technology:
- Release: QTIC 1.0 interfaces
-
- Copyright: © 1996-1997 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@apple.com
-
- */
-
- #ifndef __QTICPUBLICPANEL__
- #define __QTICPUBLICPANEL__
-
- #ifndef ___QTIC___
- #include "QTIC.h"
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if GENERATINGPOWERPC
- #pragma options align=mac68k
- #endif
-
- #ifdef __CFM68K__
- #pragma lib_export on
- #endif
-
- /* ------------------------------------------------------------------------- */
-
- // Function prototypes.
-
- pascal ComponentResult QTICP_Open(ComponentInstance self);
- pascal ComponentResult QTICP_Close(Handle storage,ComponentInstance self);
- pascal ComponentResult QTICP_CanDo(short selector);
- pascal ComponentResult QTICP_Target(Handle storage, ComponentInstance self);
-
- // Panel Routines.
- pascal ComponentResult QTICP_AboutBox(Handle storage);
- pascal ComponentResult QTICP_Initialize(Handle storage, Handle settings);
- pascal ComponentResult QTICP_SetControls(Handle storage, QTICControls controls);
- pascal ComponentResult QTICP_GetSettings(Handle storage, Handle *settings);
- pascal ComponentResult QTICP_SetSettings(Handle storage, Handle settings);
- pascal ComponentResult QTICP_CanUseCamera(Handle storage, QTICControls controls);
-
- // Panel Event Handling Routines.
- pascal ComponentResult QTICP_IsPanel(Handle storage, WindowRef theWindow);
- pascal ComponentResult QTICP_CloseWindow(Handle storage, WindowRef theWindow);
- pascal ComponentResult QTICP_Event(Handle storage, EventRecord *theEvent);
- pascal ComponentResult QTICP_Idle(Handle storage);
- pascal ComponentResult QTICP_InContentDouble(Handle storage, WindowRef theWindow, EventRecord *theEvent);
- pascal ComponentResult QTICP_InContent(Handle storage, WindowRef theWindow, EventRecord *theEvent);
- pascal ComponentResult QTICP_GetGrowSize(Handle storage, WindowRef theWindow, Rect *size);
- pascal ComponentResult QTICP_GrowWindow(Handle storage, WindowRef theWindow, Rect *old, Rect *new);
- pascal ComponentResult QTICP_ZoomWindow(Handle storage, WindowRef theWindow, short windowPart);
- pascal ComponentResult QTICP_DoKeyDown(Handle storage, WindowRef theWindow, EventRecord *theEvent);
- pascal ComponentResult QTICP_Draw(Handle storage, WindowRef theWindow);
- pascal ComponentResult QTICP_UpdateCustomMenu(Handle storage, WindowRef theWindow, MenuHandle mHandle);
- pascal ComponentResult QTICP_DoCustomMenu(Handle storage, WindowRef theWindow, MenuHandle mHandle, short selectedItem);
- pascal ComponentResult QTICP_GetMenuName(Handle storage, WindowRef theWindow, unsigned char *name);
- pascal ComponentResult QTICP_FinishCustomMenu(Handle storage, WindowRef theWindow, MenuHandle mHandle);
- pascal ComponentResult QTICP_Activate(Handle storage, WindowRef theWindow);
- pascal ComponentResult QTICP_Deactivate(Handle storage, WindowRef theWindow);
-
- /* ------------------------------------------------------------------------- */
-
- // These are the ProcInfos we need to call dispatch to our component functions.
- enum {
- uppMainProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(ComponentParameters *)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle))),
- uppQTICP_OpenProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(ComponentInstance))),
- uppQTICP_CloseProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ComponentInstance))),
- uppQTICP_CanDoProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short))),
- uppQTICP_TargetProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ComponentInstance))),
-
- uppQTICP_AboutBoxProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle))),
- uppQTICP_InitializeProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle))),
- uppQTICP_SetControlsProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(QTICControls))),
- uppQTICP_GetSettingsProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle *))),
- uppQTICP_SetSettingsProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Handle))),
- uppQTICP_CanUseCameraProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(QTICControls))),
-
- uppQTICP_IsPanelProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef))),
- uppQTICP_CloseWindowProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef))),
- uppQTICP_EventProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(EventRecord *))),
- uppQTICP_IdleProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle))),
- uppQTICP_InContentDoubleProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(EventRecord *))),
- uppQTICP_InContentProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(EventRecord *))),
- uppQTICP_GetGrowSizeProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Rect *))),
- uppQTICP_GrowWindowProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Rect *)))
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(Rect *))),
- uppQTICP_ZoomWindowProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short))),
- uppQTICP_DoKeyDownProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(EventRecord *))),
- uppQTICP_DrawProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef))),
- uppQTICP_UpdateCustomMenuProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(MenuHandle))),
- uppQTICP_DoCustomMenuProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(MenuHandle)))
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(short))),
- uppQTICP_GetMenuNameProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(unsigned char *))),
- uppQTICP_FinishCustomMenuProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(MenuHandle))),
- uppQTICP_ActivateProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef))),
- uppQTICP_DeactivateProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(WindowRef)))
- };
-
- /* ------------------------------------------------------------------------- */
-
- // Component helper stuff.
- #ifdef powerc
-
- // PowerPC compile only.
- #define CallComponentFunctionWithStorageUniv(storage, params, funcName) \
- CallComponentFunctionWithStorage(storage, params, &funcName##RD)
- #define CallComponentFunctionUniv(params, funcName) \
- CallComponentFunction(params, &funcName##RD)
- #define INSTANTIATE_ROUTINE_DESCRIPTOR(funcName) RoutineDescriptor funcName##RD = \
- BUILD_ROUTINE_DESCRIPTOR (upp##funcName##ProcInfo, funcName)
-
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Open);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Close);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_CanDo);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Target);
-
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_AboutBox);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Initialize);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_SetControls);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_GetSettings);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_SetSettings);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_CanUseCamera);
-
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_IsPanel);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_CloseWindow);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Event);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Idle);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_InContentDouble);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_InContent);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_GetGrowSize);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_GrowWindow);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_ZoomWindow);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_DoKeyDown);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Draw);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_UpdateCustomMenu);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_DoCustomMenu);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_GetMenuName);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_FinishCustomMenu);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Activate);
- INSTANTIATE_ROUTINE_DESCRIPTOR(QTICP_Deactivate);
-
- #else
-
- // 68K compile only.
- #define CallComponentFunctionWithStorageUniv(storage, params, funcName) \
- CallComponentFunctionWithStorage(storage, params, (ComponentFunctionUPP)funcName)
- #define CallComponentFunctionUniv(params, funcName) \
- CallComponentFunction(params, (ComponentFunctionUPP)funcName)
- #endif
-
- /* ------------------------------------------------------------------------- */
-
- #ifdef __CFM68K__
- #pragma lib_export off
- #endif
-
- #if GENERATINGPOWERPC
- #pragma options align=reset
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __QTICPUBLICPANEL__ */